/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package data;

import java.util.Date;

import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Exercise</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link data.Exercise#getSport <em>Sport</em>}</li>
 *   <li>{@link data.Exercise#getTimestamp <em>Timestamp</em>}</li>
 *   <li>{@link data.Exercise#getName <em>Name</em>}</li>
 *   <li>{@link data.Exercise#getEnergyExpenditure <em>Energy Expenditure</em>}</li>
 *   <li>{@link data.Exercise#getDatalogs <em>Datalogs</em>}</li>
 *   <li>{@link data.Exercise#getFusedDataLog <em>Fused Data Log</em>}</li>
 *   <li>{@link data.Exercise#getTotalTime <em>Total Time</em>}</li>
 *   <li>{@link data.Exercise#getTotalTimePace <em>Total Time Pace</em>}</li>
 *   <li>{@link data.Exercise#getMovingTime <em>Moving Time</em>}</li>
 *   <li>{@link data.Exercise#getMovingTimePace <em>Moving Time Pace</em>}</li>
 *   <li>{@link data.Exercise#getDistance <em>Distance</em>}</li>
 *   <li>{@link data.Exercise#getMovingSpeedAverage <em>Moving Speed Average</em>}</li>
 *   <li>{@link data.Exercise#getMovingSpeedMaximum <em>Moving Speed Maximum</em>}</li>
 *   <li>{@link data.Exercise#getAscentSpeedAverage <em>Ascent Speed Average</em>}</li>
 *   <li>{@link data.Exercise#getAscentSpeedMaximum <em>Ascent Speed Maximum</em>}</li>
 *   <li>{@link data.Exercise#getDescentSpeedAverage <em>Descent Speed Average</em>}</li>
 *   <li>{@link data.Exercise#getDescentSpeedMaximum <em>Descent Speed Maximum</em>}</li>
 *   <li>{@link data.Exercise#getAscentGradeAverage <em>Ascent Grade Average</em>}</li>
 *   <li>{@link data.Exercise#getAscentGradeMaximum <em>Ascent Grade Maximum</em>}</li>
 *   <li>{@link data.Exercise#getDescentGradeAverage <em>Descent Grade Average</em>}</li>
 *   <li>{@link data.Exercise#getDescentGradeMaximum <em>Descent Grade Maximum</em>}</li>
 *   <li>{@link data.Exercise#getElevationGain <em>Elevation Gain</em>}</li>
 *   <li>{@link data.Exercise#getElevationLoss <em>Elevation Loss</em>}</li>
 *   <li>{@link data.Exercise#getElevationStart <em>Elevation Start</em>}</li>
 *   <li>{@link data.Exercise#getElevationFinish <em>Elevation Finish</em>}</li>
 *   <li>{@link data.Exercise#getElevationMaximum <em>Elevation Maximum</em>}</li>
 *   <li>{@link data.Exercise#getElevationMinimum <em>Elevation Minimum</em>}</li>
 *   <li>{@link data.Exercise#getHeartrateAverage <em>Heartrate Average</em>}</li>
 *   <li>{@link data.Exercise#getHeartrateMaximum <em>Heartrate Maximum</em>}</li>
 *   <li>{@link data.Exercise#getHeartrateMinimum <em>Heartrate Minimum</em>}</li>
 *   <li>{@link data.Exercise#getTemperatureStart <em>Temperature Start</em>}</li>
 *   <li>{@link data.Exercise#getTemperatureFinish <em>Temperature Finish</em>}</li>
 *   <li>{@link data.Exercise#getTemperatureMaximum <em>Temperature Maximum</em>}</li>
 *   <li>{@link data.Exercise#getTemperatureMinimum <em>Temperature Minimum</em>}</li>
 *   <li>{@link data.Exercise#getTemperatureAverage <em>Temperature Average</em>}</li>
 *   <li>{@link data.Exercise#getRelativehumidityMinimum <em>Relativehumidity Minimum</em>}</li>
 *   <li>{@link data.Exercise#getRelativehumidityAverage <em>Relativehumidity Average</em>}</li>
 *   <li>{@link data.Exercise#getWindspeedMinimum <em>Windspeed Minimum</em>}</li>
 *   <li>{@link data.Exercise#getWindspeedMaximum <em>Windspeed Maximum</em>}</li>
 *   <li>{@link data.Exercise#getWindspeedAverage <em>Windspeed Average</em>}</li>
 *   <li>{@link data.Exercise#getWinddirectionAverage <em>Winddirection Average</em>}</li>
 *   <li>{@link data.Exercise#getDistanceAscent <em>Distance Ascent</em>}</li>
 *   <li>{@link data.Exercise#getDistanceDescent <em>Distance Descent</em>}</li>
 *   <li>{@link data.Exercise#getPercentAscent <em>Percent Ascent</em>}</li>
 *   <li>{@link data.Exercise#getPercentDescent <em>Percent Descent</em>}</li>
 *   <li>{@link data.Exercise#getPercentFlat <em>Percent Flat</em>}</li>
 *   <li>{@link data.Exercise#getAnaerobicPercentage <em>Anaerobic Percentage</em>}</li>
 *   <li>{@link data.Exercise#getAerobicPercentage <em>Aerobic Percentage</em>}</li>
 *   <li>{@link data.Exercise#getOtherPercentage <em>Other Percentage</em>}</li>
 *   <li>{@link data.Exercise#getVo2maxPercentage <em>Vo2max Percentage</em>}</li>
 *   <li>{@link data.Exercise#getRecoveryPercentage <em>Recovery Percentage</em>}</li>
 * </ul>
 * </p>
 *
 * @see data.DataPackage#getExercise()
 * @model
 * @generated
 */
public interface Exercise extends EObject {
	/**
	 * Returns the value of the '<em><b>Sport</b></em>' attribute.
	 * The literals are from the enumeration {@link data.Sport}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Sport</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Sport</em>' attribute.
	 * @see data.Sport
	 * @see #setSport(Sport)
	 * @see data.DataPackage#getExercise_Sport()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	Sport getSport();

	/**
	 * Sets the value of the '{@link data.Exercise#getSport <em>Sport</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Sport</em>' attribute.
	 * @see data.Sport
	 * @see #getSport()
	 * @generated
	 */
	void setSport(Sport value);

	/**
	 * Returns the value of the '<em><b>Timestamp</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Timestamp</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Timestamp</em>' attribute.
	 * @see #setTimestamp(Date)
	 * @see data.DataPackage#getExercise_Timestamp()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	Date getTimestamp();

	/**
	 * Sets the value of the '{@link data.Exercise#getTimestamp <em>Timestamp</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Timestamp</em>' attribute.
	 * @see #getTimestamp()
	 * @generated
	 */
	void setTimestamp(Date value);

	/**
	 * Returns the value of the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Name</em>' attribute.
	 * @see #setName(String)
	 * @see data.DataPackage#getExercise_Name()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	String getName();

	/**
	 * Sets the value of the '{@link data.Exercise#getName <em>Name</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Name</em>' attribute.
	 * @see #getName()
	 * @generated
	 */
	void setName(String value);

	/**
	 * Returns the value of the '<em><b>Energy Expenditure</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Energy Expenditure</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Energy Expenditure</em>' attribute.
	 * @see #setEnergyExpenditure(float)
	 * @see data.DataPackage#getExercise_EnergyExpenditure()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	float getEnergyExpenditure();

	/**
	 * Sets the value of the '{@link data.Exercise#getEnergyExpenditure <em>Energy Expenditure</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Energy Expenditure</em>' attribute.
	 * @see #getEnergyExpenditure()
	 * @generated
	 */
	void setEnergyExpenditure(float value);

	/**
	 * Returns the value of the '<em><b>Datalogs</b></em>' containment reference list.
	 * The list contents are of type {@link data.DataLog}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Datalogs</em>' containment reference list isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Datalogs</em>' containment reference list.
	 * @see data.DataPackage#getExercise_Datalogs()
	 * @model containment="true" required="true" ordered="false"
	 * @generated
	 */
	EList<DataLog> getDatalogs();

	/**
	 * Returns the value of the '<em><b>Fused Data Log</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Fused Data Log</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Fused Data Log</em>' containment reference.
	 * @see #setFusedDataLog(DataLog)
	 * @see data.DataPackage#getExercise_FusedDataLog()
	 * @model containment="true" required="true" ordered="false"
	 * @generated
	 */
	DataLog getFusedDataLog();

	/**
	 * Sets the value of the '{@link data.Exercise#getFusedDataLog <em>Fused Data Log</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Fused Data Log</em>' containment reference.
	 * @see #getFusedDataLog()
	 * @generated
	 */
	void setFusedDataLog(DataLog value);
	/**
	 * Returns the value of the '<em><b>Total Time</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Total Time</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Total Time</em>' attribute.
	 * @see #setTotalTime(long)
	 * @see data.DataPackage#getExercise_TotalTime()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	long getTotalTime();

	/**
	 * Sets the value of the '{@link data.Exercise#getTotalTime <em>Total Time</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Total Time</em>' attribute.
	 * @see #getTotalTime()
	 * @generated
	 */
	void setTotalTime(long value);

	/**
	 * Returns the value of the '<em><b>Total Time Pace</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Total Time Pace</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Total Time Pace</em>' attribute.
	 * @see #setTotalTimePace(long)
	 * @see data.DataPackage#getExercise_TotalTimePace()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	long getTotalTimePace();

	/**
	 * Sets the value of the '{@link data.Exercise#getTotalTimePace <em>Total Time Pace</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Total Time Pace</em>' attribute.
	 * @see #getTotalTimePace()
	 * @generated
	 */
	void setTotalTimePace(long value);

	/**
	 * Returns the value of the '<em><b>Moving Time</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Moving Time</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Moving Time</em>' attribute.
	 * @see #setMovingTime(long)
	 * @see data.DataPackage#getExercise_MovingTime()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	long getMovingTime();

	/**
	 * Sets the value of the '{@link data.Exercise#getMovingTime <em>Moving Time</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Moving Time</em>' attribute.
	 * @see #getMovingTime()
	 * @generated
	 */
	void setMovingTime(long value);

	/**
	 * Returns the value of the '<em><b>Moving Time Pace</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Moving Time Pace</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Moving Time Pace</em>' attribute.
	 * @see #setMovingTimePace(long)
	 * @see data.DataPackage#getExercise_MovingTimePace()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	long getMovingTimePace();

	/**
	 * Sets the value of the '{@link data.Exercise#getMovingTimePace <em>Moving Time Pace</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Moving Time Pace</em>' attribute.
	 * @see #getMovingTimePace()
	 * @generated
	 */
	void setMovingTimePace(long value);

	/**
	 * Returns the value of the '<em><b>Distance</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Distance</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Distance</em>' attribute.
	 * @see #setDistance(double)
	 * @see data.DataPackage#getExercise_Distance()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getDistance();

	/**
	 * Sets the value of the '{@link data.Exercise#getDistance <em>Distance</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Distance</em>' attribute.
	 * @see #getDistance()
	 * @generated
	 */
	void setDistance(double value);

	/**
	 * Returns the value of the '<em><b>Moving Speed Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Moving Speed Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Moving Speed Average</em>' attribute.
	 * @see #setMovingSpeedAverage(double)
	 * @see data.DataPackage#getExercise_MovingSpeedAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getMovingSpeedAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getMovingSpeedAverage <em>Moving Speed Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Moving Speed Average</em>' attribute.
	 * @see #getMovingSpeedAverage()
	 * @generated
	 */
	void setMovingSpeedAverage(double value);

	/**
	 * Returns the value of the '<em><b>Moving Speed Maximum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Moving Speed Maximum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Moving Speed Maximum</em>' attribute.
	 * @see #setMovingSpeedMaximum(double)
	 * @see data.DataPackage#getExercise_MovingSpeedMaximum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getMovingSpeedMaximum();

	/**
	 * Sets the value of the '{@link data.Exercise#getMovingSpeedMaximum <em>Moving Speed Maximum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Moving Speed Maximum</em>' attribute.
	 * @see #getMovingSpeedMaximum()
	 * @generated
	 */
	void setMovingSpeedMaximum(double value);

	/**
	 * Returns the value of the '<em><b>Ascent Speed Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Ascent Speed Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Ascent Speed Average</em>' attribute.
	 * @see #setAscentSpeedAverage(double)
	 * @see data.DataPackage#getExercise_AscentSpeedAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getAscentSpeedAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getAscentSpeedAverage <em>Ascent Speed Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Ascent Speed Average</em>' attribute.
	 * @see #getAscentSpeedAverage()
	 * @generated
	 */
	void setAscentSpeedAverage(double value);

	/**
	 * Returns the value of the '<em><b>Ascent Speed Maximum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Ascent Speed Maximum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Ascent Speed Maximum</em>' attribute.
	 * @see #setAscentSpeedMaximum(double)
	 * @see data.DataPackage#getExercise_AscentSpeedMaximum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getAscentSpeedMaximum();

	/**
	 * Sets the value of the '{@link data.Exercise#getAscentSpeedMaximum <em>Ascent Speed Maximum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Ascent Speed Maximum</em>' attribute.
	 * @see #getAscentSpeedMaximum()
	 * @generated
	 */
	void setAscentSpeedMaximum(double value);

	/**
	 * Returns the value of the '<em><b>Descent Speed Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Descent Speed Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Descent Speed Average</em>' attribute.
	 * @see #setDescentSpeedAverage(double)
	 * @see data.DataPackage#getExercise_DescentSpeedAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getDescentSpeedAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getDescentSpeedAverage <em>Descent Speed Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Descent Speed Average</em>' attribute.
	 * @see #getDescentSpeedAverage()
	 * @generated
	 */
	void setDescentSpeedAverage(double value);

	/**
	 * Returns the value of the '<em><b>Descent Speed Maximum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Descent Speed Maximum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Descent Speed Maximum</em>' attribute.
	 * @see #setDescentSpeedMaximum(double)
	 * @see data.DataPackage#getExercise_DescentSpeedMaximum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getDescentSpeedMaximum();

	/**
	 * Sets the value of the '{@link data.Exercise#getDescentSpeedMaximum <em>Descent Speed Maximum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Descent Speed Maximum</em>' attribute.
	 * @see #getDescentSpeedMaximum()
	 * @generated
	 */
	void setDescentSpeedMaximum(double value);

	/**
	 * Returns the value of the '<em><b>Ascent Grade Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Ascent Grade Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Ascent Grade Average</em>' attribute.
	 * @see #setAscentGradeAverage(double)
	 * @see data.DataPackage#getExercise_AscentGradeAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getAscentGradeAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getAscentGradeAverage <em>Ascent Grade Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Ascent Grade Average</em>' attribute.
	 * @see #getAscentGradeAverage()
	 * @generated
	 */
	void setAscentGradeAverage(double value);

	/**
	 * Returns the value of the '<em><b>Ascent Grade Maximum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Ascent Grade Maximum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Ascent Grade Maximum</em>' attribute.
	 * @see #setAscentGradeMaximum(double)
	 * @see data.DataPackage#getExercise_AscentGradeMaximum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getAscentGradeMaximum();

	/**
	 * Sets the value of the '{@link data.Exercise#getAscentGradeMaximum <em>Ascent Grade Maximum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Ascent Grade Maximum</em>' attribute.
	 * @see #getAscentGradeMaximum()
	 * @generated
	 */
	void setAscentGradeMaximum(double value);

	/**
	 * Returns the value of the '<em><b>Descent Grade Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Descent Grade Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Descent Grade Average</em>' attribute.
	 * @see #setDescentGradeAverage(double)
	 * @see data.DataPackage#getExercise_DescentGradeAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getDescentGradeAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getDescentGradeAverage <em>Descent Grade Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Descent Grade Average</em>' attribute.
	 * @see #getDescentGradeAverage()
	 * @generated
	 */
	void setDescentGradeAverage(double value);

	/**
	 * Returns the value of the '<em><b>Descent Grade Maximum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Descent Grade Maximum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Descent Grade Maximum</em>' attribute.
	 * @see #setDescentGradeMaximum(double)
	 * @see data.DataPackage#getExercise_DescentGradeMaximum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getDescentGradeMaximum();

	/**
	 * Sets the value of the '{@link data.Exercise#getDescentGradeMaximum <em>Descent Grade Maximum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Descent Grade Maximum</em>' attribute.
	 * @see #getDescentGradeMaximum()
	 * @generated
	 */
	void setDescentGradeMaximum(double value);

	/**
	 * Returns the value of the '<em><b>Elevation Gain</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Elevation Gain</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Elevation Gain</em>' attribute.
	 * @see #setElevationGain(double)
	 * @see data.DataPackage#getExercise_ElevationGain()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getElevationGain();

	/**
	 * Sets the value of the '{@link data.Exercise#getElevationGain <em>Elevation Gain</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Elevation Gain</em>' attribute.
	 * @see #getElevationGain()
	 * @generated
	 */
	void setElevationGain(double value);

	/**
	 * Returns the value of the '<em><b>Elevation Loss</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Elevation Loss</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Elevation Loss</em>' attribute.
	 * @see #setElevationLoss(double)
	 * @see data.DataPackage#getExercise_ElevationLoss()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getElevationLoss();

	/**
	 * Sets the value of the '{@link data.Exercise#getElevationLoss <em>Elevation Loss</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Elevation Loss</em>' attribute.
	 * @see #getElevationLoss()
	 * @generated
	 */
	void setElevationLoss(double value);

	/**
	 * Returns the value of the '<em><b>Elevation Start</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Elevation Start</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Elevation Start</em>' attribute.
	 * @see #setElevationStart(double)
	 * @see data.DataPackage#getExercise_ElevationStart()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getElevationStart();

	/**
	 * Sets the value of the '{@link data.Exercise#getElevationStart <em>Elevation Start</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Elevation Start</em>' attribute.
	 * @see #getElevationStart()
	 * @generated
	 */
	void setElevationStart(double value);

	/**
	 * Returns the value of the '<em><b>Elevation Finish</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Elevation Finish</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Elevation Finish</em>' attribute.
	 * @see #setElevationFinish(double)
	 * @see data.DataPackage#getExercise_ElevationFinish()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getElevationFinish();

	/**
	 * Sets the value of the '{@link data.Exercise#getElevationFinish <em>Elevation Finish</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Elevation Finish</em>' attribute.
	 * @see #getElevationFinish()
	 * @generated
	 */
	void setElevationFinish(double value);

	/**
	 * Returns the value of the '<em><b>Elevation Maximum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Elevation Maximum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Elevation Maximum</em>' attribute.
	 * @see #setElevationMaximum(double)
	 * @see data.DataPackage#getExercise_ElevationMaximum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getElevationMaximum();

	/**
	 * Sets the value of the '{@link data.Exercise#getElevationMaximum <em>Elevation Maximum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Elevation Maximum</em>' attribute.
	 * @see #getElevationMaximum()
	 * @generated
	 */
	void setElevationMaximum(double value);

	/**
	 * Returns the value of the '<em><b>Elevation Minimum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Elevation Minimum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Elevation Minimum</em>' attribute.
	 * @see #setElevationMinimum(double)
	 * @see data.DataPackage#getExercise_ElevationMinimum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getElevationMinimum();

	/**
	 * Sets the value of the '{@link data.Exercise#getElevationMinimum <em>Elevation Minimum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Elevation Minimum</em>' attribute.
	 * @see #getElevationMinimum()
	 * @generated
	 */
	void setElevationMinimum(double value);

	/**
	 * Returns the value of the '<em><b>Heartrate Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Heartrate Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Heartrate Average</em>' attribute.
	 * @see #setHeartrateAverage(double)
	 * @see data.DataPackage#getExercise_HeartrateAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getHeartrateAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getHeartrateAverage <em>Heartrate Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Heartrate Average</em>' attribute.
	 * @see #getHeartrateAverage()
	 * @generated
	 */
	void setHeartrateAverage(double value);

	/**
	 * Returns the value of the '<em><b>Heartrate Maximum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Heartrate Maximum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Heartrate Maximum</em>' attribute.
	 * @see #setHeartrateMaximum(double)
	 * @see data.DataPackage#getExercise_HeartrateMaximum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getHeartrateMaximum();

	/**
	 * Sets the value of the '{@link data.Exercise#getHeartrateMaximum <em>Heartrate Maximum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Heartrate Maximum</em>' attribute.
	 * @see #getHeartrateMaximum()
	 * @generated
	 */
	void setHeartrateMaximum(double value);

	/**
	 * Returns the value of the '<em><b>Heartrate Minimum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Heartrate Minimum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Heartrate Minimum</em>' attribute.
	 * @see #setHeartrateMinimum(double)
	 * @see data.DataPackage#getExercise_HeartrateMinimum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getHeartrateMinimum();

	/**
	 * Sets the value of the '{@link data.Exercise#getHeartrateMinimum <em>Heartrate Minimum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Heartrate Minimum</em>' attribute.
	 * @see #getHeartrateMinimum()
	 * @generated
	 */
	void setHeartrateMinimum(double value);

	/**
	 * Returns the value of the '<em><b>Temperature Start</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Temperature Start</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Temperature Start</em>' attribute.
	 * @see #setTemperatureStart(double)
	 * @see data.DataPackage#getExercise_TemperatureStart()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getTemperatureStart();

	/**
	 * Sets the value of the '{@link data.Exercise#getTemperatureStart <em>Temperature Start</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Temperature Start</em>' attribute.
	 * @see #getTemperatureStart()
	 * @generated
	 */
	void setTemperatureStart(double value);

	/**
	 * Returns the value of the '<em><b>Temperature Finish</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Temperature Finish</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Temperature Finish</em>' attribute.
	 * @see #setTemperatureFinish(double)
	 * @see data.DataPackage#getExercise_TemperatureFinish()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getTemperatureFinish();

	/**
	 * Sets the value of the '{@link data.Exercise#getTemperatureFinish <em>Temperature Finish</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Temperature Finish</em>' attribute.
	 * @see #getTemperatureFinish()
	 * @generated
	 */
	void setTemperatureFinish(double value);

	/**
	 * Returns the value of the '<em><b>Temperature Maximum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Temperature Maximum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Temperature Maximum</em>' attribute.
	 * @see #setTemperatureMaximum(double)
	 * @see data.DataPackage#getExercise_TemperatureMaximum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getTemperatureMaximum();

	/**
	 * Sets the value of the '{@link data.Exercise#getTemperatureMaximum <em>Temperature Maximum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Temperature Maximum</em>' attribute.
	 * @see #getTemperatureMaximum()
	 * @generated
	 */
	void setTemperatureMaximum(double value);

	/**
	 * Returns the value of the '<em><b>Temperature Minimum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Temperature Minimum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Temperature Minimum</em>' attribute.
	 * @see #setTemperatureMinimum(double)
	 * @see data.DataPackage#getExercise_TemperatureMinimum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getTemperatureMinimum();

	/**
	 * Sets the value of the '{@link data.Exercise#getTemperatureMinimum <em>Temperature Minimum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Temperature Minimum</em>' attribute.
	 * @see #getTemperatureMinimum()
	 * @generated
	 */
	void setTemperatureMinimum(double value);

	/**
	 * Returns the value of the '<em><b>Temperature Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Temperature Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Temperature Average</em>' attribute.
	 * @see #setTemperatureAverage(double)
	 * @see data.DataPackage#getExercise_TemperatureAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getTemperatureAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getTemperatureAverage <em>Temperature Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Temperature Average</em>' attribute.
	 * @see #getTemperatureAverage()
	 * @generated
	 */
	void setTemperatureAverage(double value);

	/**
	 * Returns the value of the '<em><b>Relativehumidity Minimum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Relativehumidity Minimum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Relativehumidity Minimum</em>' attribute.
	 * @see #setRelativehumidityMinimum(double)
	 * @see data.DataPackage#getExercise_RelativehumidityMinimum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getRelativehumidityMinimum();

	/**
	 * Sets the value of the '{@link data.Exercise#getRelativehumidityMinimum <em>Relativehumidity Minimum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Relativehumidity Minimum</em>' attribute.
	 * @see #getRelativehumidityMinimum()
	 * @generated
	 */
	void setRelativehumidityMinimum(double value);

	/**
	 * Returns the value of the '<em><b>Relativehumidity Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Relativehumidity Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Relativehumidity Average</em>' attribute.
	 * @see #setRelativehumidityAverage(double)
	 * @see data.DataPackage#getExercise_RelativehumidityAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getRelativehumidityAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getRelativehumidityAverage <em>Relativehumidity Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Relativehumidity Average</em>' attribute.
	 * @see #getRelativehumidityAverage()
	 * @generated
	 */
	void setRelativehumidityAverage(double value);

	/**
	 * Returns the value of the '<em><b>Windspeed Minimum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Windspeed Minimum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Windspeed Minimum</em>' attribute.
	 * @see #setWindspeedMinimum(double)
	 * @see data.DataPackage#getExercise_WindspeedMinimum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getWindspeedMinimum();

	/**
	 * Sets the value of the '{@link data.Exercise#getWindspeedMinimum <em>Windspeed Minimum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Windspeed Minimum</em>' attribute.
	 * @see #getWindspeedMinimum()
	 * @generated
	 */
	void setWindspeedMinimum(double value);

	/**
	 * Returns the value of the '<em><b>Windspeed Maximum</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Windspeed Maximum</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Windspeed Maximum</em>' attribute.
	 * @see #setWindspeedMaximum(double)
	 * @see data.DataPackage#getExercise_WindspeedMaximum()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getWindspeedMaximum();

	/**
	 * Sets the value of the '{@link data.Exercise#getWindspeedMaximum <em>Windspeed Maximum</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Windspeed Maximum</em>' attribute.
	 * @see #getWindspeedMaximum()
	 * @generated
	 */
	void setWindspeedMaximum(double value);

	/**
	 * Returns the value of the '<em><b>Windspeed Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Windspeed Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Windspeed Average</em>' attribute.
	 * @see #setWindspeedAverage(double)
	 * @see data.DataPackage#getExercise_WindspeedAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getWindspeedAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getWindspeedAverage <em>Windspeed Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Windspeed Average</em>' attribute.
	 * @see #getWindspeedAverage()
	 * @generated
	 */
	void setWindspeedAverage(double value);

	/**
	 * Returns the value of the '<em><b>Winddirection Average</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Winddirection Average</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Winddirection Average</em>' attribute.
	 * @see #setWinddirectionAverage(double)
	 * @see data.DataPackage#getExercise_WinddirectionAverage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getWinddirectionAverage();

	/**
	 * Sets the value of the '{@link data.Exercise#getWinddirectionAverage <em>Winddirection Average</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Winddirection Average</em>' attribute.
	 * @see #getWinddirectionAverage()
	 * @generated
	 */
	void setWinddirectionAverage(double value);

	/**
	 * Returns the value of the '<em><b>Distance Ascent</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Distance Ascent</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Distance Ascent</em>' attribute.
	 * @see #setDistanceAscent(double)
	 * @see data.DataPackage#getExercise_DistanceAscent()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getDistanceAscent();

	/**
	 * Sets the value of the '{@link data.Exercise#getDistanceAscent <em>Distance Ascent</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Distance Ascent</em>' attribute.
	 * @see #getDistanceAscent()
	 * @generated
	 */
	void setDistanceAscent(double value);

	/**
	 * Returns the value of the '<em><b>Distance Descent</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Distance Descent</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Distance Descent</em>' attribute.
	 * @see #setDistanceDescent(double)
	 * @see data.DataPackage#getExercise_DistanceDescent()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getDistanceDescent();

	/**
	 * Sets the value of the '{@link data.Exercise#getDistanceDescent <em>Distance Descent</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Distance Descent</em>' attribute.
	 * @see #getDistanceDescent()
	 * @generated
	 */
	void setDistanceDescent(double value);

	/**
	 * Returns the value of the '<em><b>Percent Ascent</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Percent Ascent</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Percent Ascent</em>' attribute.
	 * @see #setPercentAscent(double)
	 * @see data.DataPackage#getExercise_PercentAscent()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getPercentAscent();

	/**
	 * Sets the value of the '{@link data.Exercise#getPercentAscent <em>Percent Ascent</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Percent Ascent</em>' attribute.
	 * @see #getPercentAscent()
	 * @generated
	 */
	void setPercentAscent(double value);

	/**
	 * Returns the value of the '<em><b>Percent Descent</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Percent Descent</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Percent Descent</em>' attribute.
	 * @see #setPercentDescent(double)
	 * @see data.DataPackage#getExercise_PercentDescent()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getPercentDescent();

	/**
	 * Sets the value of the '{@link data.Exercise#getPercentDescent <em>Percent Descent</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Percent Descent</em>' attribute.
	 * @see #getPercentDescent()
	 * @generated
	 */
	void setPercentDescent(double value);

	/**
	 * Returns the value of the '<em><b>Percent Flat</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Percent Flat</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Percent Flat</em>' attribute.
	 * @see #setPercentFlat(double)
	 * @see data.DataPackage#getExercise_PercentFlat()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getPercentFlat();

	/**
	 * Sets the value of the '{@link data.Exercise#getPercentFlat <em>Percent Flat</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Percent Flat</em>' attribute.
	 * @see #getPercentFlat()
	 * @generated
	 */
	void setPercentFlat(double value);

	/**
	 * Returns the value of the '<em><b>Anaerobic Percentage</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Anaerobic Percentage</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Anaerobic Percentage</em>' attribute.
	 * @see #setAnaerobicPercentage(double)
	 * @see data.DataPackage#getExercise_AnaerobicPercentage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getAnaerobicPercentage();

	/**
	 * Sets the value of the '{@link data.Exercise#getAnaerobicPercentage <em>Anaerobic Percentage</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Anaerobic Percentage</em>' attribute.
	 * @see #getAnaerobicPercentage()
	 * @generated
	 */
	void setAnaerobicPercentage(double value);

	/**
	 * Returns the value of the '<em><b>Aerobic Percentage</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Aerobic Percentage</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Aerobic Percentage</em>' attribute.
	 * @see #setAerobicPercentage(double)
	 * @see data.DataPackage#getExercise_AerobicPercentage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getAerobicPercentage();

	/**
	 * Sets the value of the '{@link data.Exercise#getAerobicPercentage <em>Aerobic Percentage</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Aerobic Percentage</em>' attribute.
	 * @see #getAerobicPercentage()
	 * @generated
	 */
	void setAerobicPercentage(double value);

	/**
	 * Returns the value of the '<em><b>Other Percentage</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Other Percentage</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Other Percentage</em>' attribute.
	 * @see #setOtherPercentage(double)
	 * @see data.DataPackage#getExercise_OtherPercentage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getOtherPercentage();

	/**
	 * Sets the value of the '{@link data.Exercise#getOtherPercentage <em>Other Percentage</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Other Percentage</em>' attribute.
	 * @see #getOtherPercentage()
	 * @generated
	 */
	void setOtherPercentage(double value);

	/**
	 * Returns the value of the '<em><b>Vo2max Percentage</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Vo2max Percentage</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Vo2max Percentage</em>' attribute.
	 * @see #setVo2maxPercentage(double)
	 * @see data.DataPackage#getExercise_Vo2maxPercentage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getVo2maxPercentage();

	/**
	 * Sets the value of the '{@link data.Exercise#getVo2maxPercentage <em>Vo2max Percentage</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Vo2max Percentage</em>' attribute.
	 * @see #getVo2maxPercentage()
	 * @generated
	 */
	void setVo2maxPercentage(double value);

	/**
	 * Returns the value of the '<em><b>Recovery Percentage</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Recovery Percentage</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Recovery Percentage</em>' attribute.
	 * @see #setRecoveryPercentage(double)
	 * @see data.DataPackage#getExercise_RecoveryPercentage()
	 * @model required="true" ordered="false"
	 * @generated
	 */
	double getRecoveryPercentage();

	/**
	 * Sets the value of the '{@link data.Exercise#getRecoveryPercentage <em>Recovery Percentage</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Recovery Percentage</em>' attribute.
	 * @see #getRecoveryPercentage()
	 * @generated
	 */
	void setRecoveryPercentage(double value);

	Date getLatestTimestamp();
	Date getEarliestTimestamp();

} // Exercise
